#*********#*++++*##*******++**+*##*#####********++++++++++++========+
*********##*++**##%#*****+++++**####**********++++++++==============*
#*********###*##%%%**************************++*++++++=========+++++*
#**********######*+=++####*****++++++++********+++-++==+++++++++++**#
*************#**+-===**#**+++++******+******+++++++=+++++++++++++***#
#**************++-===+******##********+++++++++==+++++++++*******+-=#
**************+=+*====+##*#####+++++++===++++++==+++*++*************#
************++*##*+=+=+*##%#*+%*++++++==+++++********=+***###*=*#####
***********++*##***+++++**#%#**%###****++==+***********############*#
*************#%****+*+**+++###*#+++***+++++++*****###################
**************##******##****###*++++=**#########**###################
**************##########*****######**##%%%#%%%%%%%####***############
**************####************##########%%%%%%%%%%########*****######
***************##************########%%%%%%%%%%%%%%%%###########****#
**************#####************########%%%%%%%###%%%%%%%%%%%#########
********###########****************###########%%%%%%%%%%%%%%%%%%%###%
***#################**************##############%%%%%%%%%%%%%%%%%%%%%
#####################**************#################%%%%%%%%%%%%%%%%%
%#####################*************#################################%
######################********#***********##########################%
##################################********##########################%
###################################********#########################%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%